System and method for signal classiciation of signals in a frequency band

ABSTRACT

A system and method for classifying signals occurring in a frequency band. One or more characteristics of one or more signals in the frequency band are detected using any suitable technology, such as a device that can generate characteristics of signal pulses detected in the frequency band. Data pertaining to the signal pulses is accumulated over time. The accumulated signal data is compared against reference data associated with known signals to classify the one or more signals in the frequency band based on the comparison. The accumulated data may include one or more characteristics selected from the group consisting of: pulse center frequency, pulse bandwidth, pulse duration, time between pulses and number of different active pulses, and wherein the reference data associated with each of a plurality of known signals comprises one or more characteristics selected from the group consisting of: pulse center frequency, pulse bandwidth, pulse duration and time between pulses. The accumulated signal data is compared against the reference data, and depending on the degree of match with reference data, a signal can be classified. Additional levels of signal classification processing may be performed.

RELATED APPLICATIONS

[0001] This application is a continuation of U.S. application Ser. No.10/246,364, filed Sep. 18, 2002, which in turn claims priority to eachof the following U.S. Provisional Applications, all of which areincorporated herein by reference:

[0002] Application No. 60/374,365, filed Apr. 22, 2002.

[0003] Application No. 60/374,363, filed Apr. 22, 2002.

[0004] Application No. 60/380,891, filed May 16, 2002.

[0005] Application No. 60/380,890, filed May 16, 2002.

[0006] Application No. 60/319,435, filed Jul. 30, 2002.

[0007] Application No. 60/319,542, filed Sep. 11, 2002.

[0008] This application is related to each of the following commonlyassigned U.S. patent and Non-Provisional application, filed on even date(the entirety of both of which is incorporated herein by reference):

[0009] U.S. Pat. No. 6,714,605, entitled “System and Method forReal-Time Spectrum Analysis in a Communication Device,” issued Mar. 30,2004.

[0010] U.S. application Ser. No. 10/246,363, entitled “System and Methodfor Spectrum Management of a Shared Frequency Band.”

BACKGROUND OF THE INVENTION

[0011] The present invention is directed to radio communication devices,and more particularly to technology used in a radio communication deviceto classify or identify signals in a radio frequency band.

[0012] In certain radio communication systems, it would be desirable toknow whether and what types of other signals or devices are active. Forexample, an unlicensed radio frequency band is, by its nature, free tobe used by any device that emits within certain power levels in thatpart of the allocated spectrum. It is possible that many devices wouldshare the unlicensed frequency band at the same time, potentiallycausing interference with each other. Under these circumstances, itwould be useful to identify or classify signals detected in thefrequency band in order to know whether a device should take certainactions to avoid interfering with other devices operating in thefrequency band.

SUMMARY OF THE INVENTION

[0013] Briefly, a system and method are provided for classifying signalsoccurring in a frequency band. One or more characteristics of one ormore signals in the frequency band are detected using any suitabletechnology, such as a device that can generate characteristics of signalpulses detected in the frequency band. Data pertaining to the signalpulses is accumulated over time. The accumulated signal data is comparedagainst reference data associated with known signals to classify the oneor more signals in the frequency band based on the comparison. Theaccumulated data may include one or more characteristics selected fromthe group consisting of: pulse center frequency, pulse bandwidth, pulseduration, time between pulses and number of different active pulses, andwherein the reference data associated with each of a plurality of knownsignals comprises one or more characteristics selected from the groupconsisting of: pulse center frequency, pulse bandwidth, pulse durationand time between pulses. The accumulated signal data is compared againstthe reference data, and depending on the degree of match with referencedata, a signal can be classified. Additional levels of signalclassification may include generating a pulse timing signature for eachsignal pulse and comparing that pulse timing signature with referencepulse timing signatures associated with known signals. Further, samplesof the signals themselves can be taken and examined to classify thesignal. Further still, classification may involve iterating through aplurality of different signal characteristics to detect signals thatmeet one or more of the plurality of different signal characteristics.

[0014] The above and other objects and advantages will become readilyapparent when reference is made to the following description taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1 is a block diagram showing a general environment for asignal classification system and method.

[0016]FIGS. 2 and 3 illustrate examples of the types of signals that maybe simultaneously present in two exemplary radio frequency bands.

[0017]FIG. 4 is a block diagram of an exemplary spectrum analysis devicethat generates data useful as input to a signal classification process.

[0018]FIG. 5 is a flow chart depicting the various steps of the signalclassification process.

[0019]FIG. 6 is a graphical diagram illustrating exemplary signals thatmay occur in a frequency band and how data related to those signals isaccumulated for input into the signal classification process.

[0020]FIG. 7 illustrates examples of accumulated signal pulse data usedby the signal classification process.

[0021]FIGS. 8-11 illustrate histograms of signal pulse characteristicsof several exemplary signals that may occur in an unlicensed radiofrequency band.

[0022]FIG. 12 is a diagram depicting how accumulated signal pulse datais compared with reference signal pulse data of known signals.

[0023]FIG. 13 is a diagram depicting how signal pulse timing signaturesof unknown signals are compared against signal pulse timing signaturetemplates of known signals for purposes of signal classification.

[0024]FIG. 14 is a block diagram showing how reference data for newsignals can be generated for use in a signal classification process.

[0025]FIG. 15 is a block diagram showing another environment in whichsignal classification may be deployed.

[0026]FIG. 16 is a graphical diagram showing exemplary output that mayaccompany signal classification output.

DETAILED DESCRIPTION OF THE DRAWINGS

[0027]FIG. 1 shows a general environment for a signal classificationsystem and method. A wireless communication device 1000 operates in anenvironment, such as an unlicensed radio frequency band, where signalsfrom other devices sharing the same frequency band may be present.Examples of other devices sharing the unlicensed frequency band withcommunication device 1000 are, for example, a cordless phone handset2000 and cordless phone base station 2005, a wireless headset or otherappliance remote 2010 and its base station 2015 (such as a device usingthe Bluetooth™ protocol or a device using the HomeRF™ protocol), amicrowave oven 2020, an infant (video and/or audio) monitor base station2030, a first wireless local area network (WLAN) device 2040 (such as anaccess point), a second WLAN device 2045 (such as a station) and a radardevice 2050. Additional WLAN devices (e.g., stations) may be operatingin the frequency band. Device 1000 may be any type of communicationdevice, such as a WLAN device for example. Device 1000 may be incommunication, or capable of communicating, with one or both WLANdevices 2040 and 2045.

[0028] The communication device 1000 has an RF transceiver 200 coupledto one or more antennas 100. An RF interface 300 is coupled to the radiotransceiver 200. A spectrum analysis engine (SAGE) 400 is coupled to theradio transceiver 200. The SAGE 400 is a hardware peripheral thatgenerates real-time spectrum activity information. The output of theSAGE 400 is the raw information used in the classification process. TheSAGE 400 will be generally described hereinafter with reference to FIG.4. It should be understood that any device capable of detecting signalsin the frequency band and supplying raw information about those signalscan be used in a classification process as described herein.

[0029] Though not specifically shown, the SAGE 400 may reside in abaseband section of a communication device in a VLSI implementation. Aprocessor 600 executes a classification software program, called theclassification engine 500, stored in a processor readable memory 620.Information used by the classification engine 500 to classify signalsmay be stored locally in a device fingerprint database 610 (alsoreferred to as a profile or reference database). The concept of afingerprint will be described hereinafter. In addition, new and updateddevice fingerprints may be downloaded to the communication device 1000from another communication device 2060 that stores a more comprehensiveand updated database 2070 of fingerprint definitions. The processor 600executing the classification engine 500 may be an on-chip processor inthe baseband section, or may be a host processor external to thebaseband section, but in the communication device 1000 itself.Alternatively, the classification engine 500 may be executed on anotherdevice entirely separate from communication device 1000, in which casecommunication device 1000 would transmit raw spectrum informationgenerated by the SAGE 400 via a wireless or wired link to the otherdevice. For example, the classification engine could be executed on aserver computer that communicates by wire or wirelessly to communicationdevice 1000. Alternatively, if the communication device 1000 is a WLANstation, it may transmit the raw classification information to WLANdevice 2045 which may be an access point with greater processing powerand capable of overseeing communications in the WLAN. Data output by theSAGE 400 is stored in a memory 620 that the processor 600 accesses whenperforming the classification operations. The memory 620 may contain thefingerprint database 610 as well.

[0030] The communication device 1000 samples the RF spectrum in which itis operating via the radio transceiver 200. The SAGE 400 receives andprocesses the RF information from the radio transceiver 200 to outputfirst level spectrum information, described hereinafter. Theclassification engine 500 processes the first level spectrum informationwith the use of device fingerprints to output information characterizingthe activity in the RF spectrum and which classifieds/identifies devicesoperating in the spectrum. When a signal is “classified,” data thatdescribes the spectral parameters of the signal are determinedsufficient to know generally what type of signal it is. The parametersmay include the bandwidth, center frequency, frequency hopping rate (ifit hops), pulse duration, time between pulses, etc. A signal that isclassified can also be “identified” such as by the brand of the chipsetthat transmits its signal, or perhaps so specific as to identify thebrand and model of the device that transmits the signal.

[0031]FIGS. 2 and 3 illustrate some examples of the spectral usage oftwo unlicensed frequency bands in the United States. FIG. 2 shows thespectral profiles of exemplary devices that operate in the 2.4 GHzunlicensed frequency band such as for frequency hopper devices, cordlessphones, IEEE 802.11b WLAN communication devices, infant monitor devicesand microwave ovens. A frequency hopping device will occupy apredictable or random frequency sub-band at any given time, andtherefore, over time, may span the entire frequency band. A cordlessphone, of the non-frequency hopping variety, may occupy one of severalfrequency sub-bands (channels) at any given time. An IEEE 802.11b devicewill occupy one of several channels in the 2.4 GHz band at any giventime, and an infant monitor is similar. A microwave oven will emit aburst of energy that may span a significant portion of the unlicensedband.

[0032]FIG. 3 shows a similar set of circumstances for the 5 GHzunlicensed bands. There are actually three unlicensed frequency bands at5 GHz in the United States. Two of these are contiguous (and are meantto be represented by the diagram in FIG. 3) and the third is notcontiguous with the other two (which for simplicity is not considered inFIG. 3). In the 5 GHz unlicensed bands, currently there are IEEE 802.11aWLAN devices operating in one of 8 different frequency sub-bands(channels), direct sequence spread spectrum (DSS) cordless phones, andvarious radar devices. At the time of this writing, the 5 GHz unlicensedband is relatively new, and not as widely used. However, as history hasproven with the 2.4 GHz unlicensed band, greater use of the 5 GHz bandis fully expected.

[0033] In an unlicensed band, it is inevitable that two or more of thesedevices will be transmitting at the same time. There is, therefore, ahigh likelihood that they will interfere with each other. Wheninterference occurs, a signal from one device to another may not bereceived properly, causing the sending device to retransmit (andtherefore reduce throughput), or possibly entirely destroying thecommunication link between two communication devices. Therefore, beingable to classify or identify signals is an important prerequisite tointelligently managing the use of a shared frequency band.

[0034] With reference to FIG. 4, the SAGE 400 comprises a spectrumanalyzer 410, a signal detector 420, a snapshot buffer 430 and auniversal signal synchronizer 440. The outputs of these components arecoupled to the memory 610 (FIG. 1). The processor 600 accesses theoutput of the SAGE 400 via the memory 610 and controls the SAGE 400 bywriting configuration information to the control registers 450 thatconfigures operation of the SAGE components. More details on the SAGE400 are disclosed in co-pending commonly assigned referred to above. Asdescribed in that application, the signal detector 420 comprises a peakdetector 422 and one or more configurable pulse detectors 424 coupled tothe peak detector. The processor 600 (or another processor coupled tothe processor 600, not shown) configures the one or more pulse detectorsto detect signal pulses that fall within ranges of bandwidth, power,center frequency, duration, etc., to detect signal pulses of certaintypes of signals. If a pulse detector detects a pulse that meets theconfigured criteria, it outputs signal pulse data for that pulse. Thespectrum analyzer 410 outputs duty cycle statistics such as thepercentage of time of energy at each frequency in a frequency band andthe average power and maximum power at each frequency (for example, ateach of the 256 FFT frequency bins processed by the spectrum analyzer410). A pulse detector 424 in the signal detector 420 can also beconfigured by the processor 600 to trigger the snapshot buffer to storeraw analog-to-digital (ADC) samples of the received signal when a pulseof a particular type is detected. Other devices or processes may be usedto generate raw spectrum information useful by a signal classificationprocess.

[0035] Consequently, the first level spectrum information may includeone or more of:

[0036] 1. Signal pulse data (called pulse events): a list of pulsecenter frequencies, bandwidths, power, duration and time between pulses,for pulses detected by each of the pulse detectors.

[0037] 2. Duty cycle statistics.

[0038] 3. Average power and maximum power at each frequency.

[0039] 4. Raw analog-to-digital samples of the received signal.

[0040] With reference to the flow chart of FIG. 5, the signalclassification process 3000 executed by the classification engine 500will be generally described. In step 3010, the classification enginecaptures raw spectrum information, such as signal pulse data, duty cycleand other spectrum statistics, and raw snapshot samples (if any). Instep 3020, the classification engine 500 accumulates signal pulse andother data from the raw spectrum information. The accumulated data maytake the form of histograms, examples of which will be describedhereinafter. In steps 3030 through 3050, the accumulated data iscompared against fingerprints (profiles or reference data) for knownsignals.

[0041] The classification engine 500 uses device fingerprint definitionsfrom a fingerprint database to compare with accumulated signal pulsedata. A fingerprint definition includes signal descriptive informationthat identifies a device or a class of devices. A fingerprint definitionmay include:

[0042] 1. Characteristics of a signal pulse: center frequency, pulseduration, bandwidth, time between pulses, etc.

[0043] 2. Pulse timing signature template: definition of recurring pulsepatterns, commonly related to a particular communication protocol orstandard.

[0044] 3. Iterative test definitions: iteratively search for specificsignal characteristics.

[0045] 4. Custom algorithms: specific algorithms which examinestatistics and pulses looking for a specific device. These are usuallycommunication protocol-specific programs.

[0046] 5. “Expert” system analysis: more “intelligent” program toprocess historical statistics and pulse events over longer periods oftime.

[0047] 6. Techniques for analyzing snapshot samples for a specificpreamble/codeword pattern.

[0048] In step 3030, the classification engine 500 compares theaccumulated signal pulse data with reference data of known signals inthe fingerprint database 610 and tries to classify the pulse(s). If thepulses can be classified by this comparison step, the process may jumpto step 3060 and generate a signal identification alert. If the pulsescannot be classified based on the accumulated data alone, or ifadditional confirmation is desired, the process continues to step 3040,where pulse timing signatures derived from the pulse events are comparedwith pulse timing signature templates in the fingerprint database 610.If a match can be determined in step 3040, then the process jumps tostep 3060, otherwise, the process continues to step 3050. In step 3050,additional algorithms or iterative tests can be performed that aredesigned to classify otherwise hard to match pulse types. For example,in some cases, fingerprinting may be enhanced by detecting the leadingsync-word of a pulse. Raw ADC samples of the frequency spectrum areanalyzed for matches with sync-word formats or patterns in thefingerprint database. An algorithm running on a standard microprocessorcan classify most sync-words expected to be detected in the unlicensedfrequency band. In step 3060, an identification/classification alert isgenerated for each signal that either classifies the signal orspecifically identifies it. In addition, the power, duty cycle andcenter frequency (channel) information for each detected and/oridentified pulse (referred to as general spectrum utilizationdescriptions) is output, as well as information generated by thespectrum analyzer (SA statistics) and the signal detector in the SAGE400. An identification/classification alert may contain center frequencyinformation (when relevant), a signal identification/classification(described above), a probability indicator, as a well as power and dutycycle information for the signal. The signalidentification/classification information may indicate whether thesignal is a microwave oven, frequency hopping signal (Bluetooth™ SCO orBluetooth™ ACL, for example), cordless telephone, IEEE 802.11 signal,IEEE 802.15.3 device, or one of various radar types.

[0049] The order of the steps for the flowchart in FIG. 5 is not meantto be restrictive. For example, in some cases, it may be desirable toexecute specific classification algorithms on signal pulse data first orearly in the sequence of signal classification events.

[0050] Information used to build or compile a fingerprint definition isobtained from one or more of the following sources:

[0051] 1. Industry standards or protocols, such as IEEE 802.11,Bluetooth™, IEEE 802.15.3, HomeRF™, etc.

[0052] 2. Public filings with the U.S. Federal Communications Commission(FCC).

[0053] 3. Public information from research publications.

[0054] 4. Lab tests using a spectrum analyzer, duty cycle analyzerand/or vector analyzer.

[0055] 5. Operations of spectrum analysis engine (e.g., SAGE 400 in FIG.4) to obtain pulse event duty cycle and spectrum analyzer outputinformation representative of various signals. See FIG. 14 and theaccompanying description hereinafter.

[0056]FIG. 6 illustrates exemplary signal pulses of signals that may bepresent in the frequency band. There is IEEE 802.11b signal activitythat consists of pulses 1-6. Pulses 1, 3 and 5 are the forward channel802.11b transmissions and pulses 2, 4 and 6 are acknowledgement signals.There is also a frequency hopping signal, such as a Bluetooth™ SCOsignal comprising pulses 7-14. The timing, strength and duration of thesignals are not shown at precise scale. Pulse event information (pulsedata) is generated for signal pulses 1-6, for example, by a pulsedetector configured appropriately. Pulse event information is generatedfor signal pulses 7-14 by another pulse detector configuredappropriately. The signal pulse data is accumulated over time for thetwo types of signals. The signal pulse data may be accumulated intovarious histograms to be described in conjunction with FIG. 7. Inaddition, spectrum analysis information may be derived from the signalactivity in the frequency band, and this information can be used togenerate, for example, the number of different transmissions that appearto be present in the frequency band at a given time period by countingthe number of power values (above a threshold) at different frequenciesin the band during the same time interval.

[0057] Examples of the pulse event data that is generated for exemplarypulses shown in FIG. 6 are provided below. Pulse 1 SDID: 1 (identifyingpulse detector 1) Pulse Bandwidth: 11 MHz Center Frequency: 37 MHz PulseDuration: 1.1 msec Power: −75 dBm Pulse 2 SDID: 1 Pulse Bandwidth: 11MHz Center Frequency: 37 MHz Pulse Duration: 200 microsec Power: −60 dBm

[0058] Though not listed above, also included in the information foreach pulse is the start time of a pulse, thereby enabling computation ofthe time between consecutive pulses detected by a pulse detector.

[0059] The pulse event data for pulses 7-14 are very similar, with theexception of the center frequency. For example, pulses 7-14 may have apulse bandwidth of 1 MHz, a pulse duration of 350 microsec, whereas thecenter frequency will vary across nearly all of the 2400 MHz to 2483 MHzfrequency band. The SDID for pulses 7-14 is 2, since pulse detector 2 isconfigured to detect these types of pulses, for example.

[0060] Turning to FIG. 7, examples of the types of accumulated signalpulse data will be described. These examples of accumulated signal pulsedata are histograms of pulse characteristics, but it should beunderstood that other ways to accumulate different types of signal pulsedata may also be suitable. There is a center frequency histogram thattracks the percentage of time a given center frequency is observed for asignal pulse. For example, for a 256 FFT, there are 256 frequency binsthat accumulate the amount of time (or number of events) that pulsesoccur at a particular frequency/frequencies. After a certain amount oftime, each accumulated time in a frequency bin is divided by a totalamount of time that the pulses were being transmitted, to generate apercentage at each frequency bin or frequency bins. Each frequency binmay be represented by a byte that ranges from 0 to 100 and representsthe percent of time at that center frequency.

[0061] Similarly, there is a bandwidth histogram that tracks a givenbandwidth observed for signal pulses. For example, if the entirebandwidth of the frequency band is 80 MHz, then there may be 80 1 MHzslots that are used to count the amount of time a pulse is at aparticular bandwidth. Again, after a certain amount of time, eachbandwidth count is divided by a total amount of time that the pulseswere being transmitted in order generate a percentage value. Forexample, each byte bwPercent[N] represents the percentage of pulseshaving a bandwidth of N.

[0062] The pulse duration and time between pulses (also called pulsegap) observed for a signal pulse may be tracked with separate histogramsthat have generally the same form as shown in FIG. 7. There may be threecategories of pulse duration and time between pulses: short, medium andlong, partitioned by appropriate thresholds. The categories can bebroken down as follows: Bin Number Bin Start Individual of First BinLast Bin in Size Range Bin Size Bins in in Range Range Type (microsec)(microsec) Range (microsec) (microsec) Short  0 to 190 10 20 0 to 9 190to 199 Medium  200 to 1499 50 26 200 to 249 1450 to 1499 Long  1500 to500 27 1500 to All times 14500 1999 greater than 14500

[0063] Each of the bins represents the percentage of occurrences of gapsor durations within the range of that bin. The percentage values rangefrom 0 to 100, with accuracy with ½ percentage point. For example, an8-bit unsigned value from 0 to 200 can be used to represent the 0 to 100percentage value.

[0064] Another data that can be generated and used for signalclassification and other purposes is data that tracks the number ofdifferent simultaneous transmissions in the frequency band during aperiod of time. The active transmission histogram is an example of suchdata. It shows the percentage or time that one to 4 or more differentsignal transmissions were in progress during a sampling interval, basedon the number of different pulses tracked by the 4 pulse detectors. Itshould be understood that 4 is only an example of the number ofdifferent pulses that could be simultaneously tracked. This type of datais very useful in determining when two or more signals of the same ordifferent type are simultaneously active in the frequency band.

[0065] The reference signal pulse data against which the accumulatedsignal pulse data is compared, is similar in structure to theaccumulated signal pulse data. The active transmission data is useful toclassify signals that are simultaneously occurring in the frequencyband; it is not generally part of the reference data for a particularsignal type, but is useful intelligence to process the signal data.

[0066]FIGS. 8-11 are pictorial diagrams that represent accumulatedsignal pulse data in the form of histograms of individual pulsecharacteristics of known signals. These diagrams are merelyrepresentative of the underlying reference histogram data, and are notmeant to represent how the data is stored and processed. FIG. 8 showshistograms for a frequency hopping signal device, such as a Bluetooth™synchronous (SCO) packet. The center frequency histogram for this typeof signal indicates that the center frequency may be anywhere in thefrequency band with equal likelihood. The pulse duration histogramindicates that this signal is consistently approximately 400 microseclong. (This may fall into a short bin of pulse duration as explainedabove in conjunction with FIG. 7, if the pulse duration is representedthat way.) The bandwidth histogram for this signal indicates that it isalways approximately 1 MHz wide. Finally, the time between pulseshistogram indicates that half the time, the pulse gap is very short, andthe other half of the time, the pulse gap is approximately 3000microsec. In order to match accumulated signal pulse data to a signal ofthis type, the match criteria (referred to hereinafter in conjunctionwith FIG. 12) may be quite rigid with respect to the pulse duration,bandwidth and time between pulses histograms.

[0067]FIG. 9 shows histogram data for a microwave oven. The centerfrequency histogram for this type of signal indicates that it is alwaysat approximately one frequency, such as 40 MHz (in the 80 MHz wide 2.4GHz unlicensed band). The pulse duration histogram indicates that it isalways approximately 8 msec long. The bandwidth histogram indicates thatthe microwave oven pulse is always approximately 50 MHz wide. Finally,the time between pulses histogram indicates that it is alwaysapproximately 8 msec.

[0068]FIG. 10 shows histogram data for an IEEE 802.11b signal. Becausean IEEE 802.11b signal could occur at any of several frequency channelsin the frequency band, the center frequency histogram is not by itselfvery useful (unless prior knowledge is gained from general spectrumactivity information that suggests there is 802.11 activity at aparticular frequency channel). However, the bandwidth, pulse durationand time between pulses are useful, if not for classifying an 802.11signal, then at least for a guide to suggest application of other signalclassification techniques, such as a classification program oralgorithm, described hereinafter.

[0069]FIG. 11 shows histogram data for one type of a radar signal. Thistype of signal may have a pulse duration of approximately 2 msec and atime between pulses of 135 msec. For example, most radar devices emit apulse for a single pulse duration and repeat at the same time durationbetween pulses. Thus, the pulse duration histogram and the time betweenpulses histogram are very useful in identifying a signal as radar.

[0070]FIG. 12 depicts what is occurring during the comparison step 3030in the flowchart of FIG. 5. The accumulated signal pulse data (e.g.,histograms) for the signals to be classified are compared againstreference or profile signal pulse data for known signals. Each histogramof the accumulated signal pulse data is compared against a like-kindhistogram of the reference signal pulse data. The degree of matchbetween the accumulated signal pulse data and the reference signal pulsedata may be adjustable and for certain reference signal pulses, a veryclose match on certain pulse data must be found, as compared to othersignal pulse data. To this end, each reference data set may have its ownmatch criteria that must be satisfied in order to ultimately declare amatch. For example, when comparing accumulated signal pulse data withreference data for a Bluetooth™ SCO signal, there must be very precisematches between the pulse duration, bandwidth and time between pulseshistograms in order to declare a match. A scoring system may be used,where a numeric value is assigned to the comparison results between eachsignal characteristic. For certain signal types, if the total numericvalue (e.g., total score) is at least as great as a certain value, thena match may be declared. An additional constraint may also require thatcertain signal characteristics must have a minimum degree of match.

[0071] Pulse time signatures can provide a distinctive representation ofa device or class of devices. In some cases, they can be used to confirma suspected match with a particular signal type. FIG. 13 shows a processwhereby in step 3042, the accumulated pulse data for a particular pulsesuggests that it is of a particular type, but it is not determinative.For example, suggestive characteristics of an 802.11 signal is thepresence of a signal pulse with a very short duration, no more than 200microsec and a time between pulses of no more than 20 microsec. However,the additional data (center frequency and bandwidth) is not sufficientto confirm that it is an 802.11 signal. Therefore, in step 3052, pulsetiming signature analysis (i.e., pattern) is performed on the pulsedata. For example, the pulse timing analysis for an 802.11 signal isfocused on identifying two signal pulses on the same center frequencyseparated from each other by no more than 20 microsec, and where thesecond signal pulse (an 802.11 ACK pulse) is no more than 200 microsec.The duration of the first pulse for an 802.11 signal is not particularlyrelevant to this analysis. A similar analysis may be performed on thepulse data against pulse signature information for a Bluetooth™ SCOsignal. Classifying a pulse using timing signature templates isparticularly useful when more than one device is transmitting in thefrequency band. Pulse timing signature information for a signal can berepresented by data describing the characteristic of a pulse, such aspulse duration, time between pulses, etc. This information can thencompared against similar pulse timing signature information to determinewhether there is a match.

[0072] Another way to iteratively search for different signalcharacteristics is to iteratively operate the pulse detectors in theSAGE with different parameters, with the goal of eventually detectingsignal pulses that match the configured parameters of a pulse detector.The matching signal pulse characteristics are accumulated over time, andthen run through the signal classification processes.

[0073]FIG. 14 illustrates an environment that is useful to learn thedistinctive profile of a device and create a fingerprint definition. Adevice 4000 that transmits a radio signal to learn is turned on in anenvironment where a communication device 1000 having the SAGE 400 (orother device capable of providing similar output as the SAGE 400)resides. The communication device 1000 operates the SAGE 400 to generatesignal pulse data, spectrum analysis statistics, etc., from the signalthat it receives from the device 4000. This SAGE output may be processedby processor 600 executing the classification engine 500. The processor600 may be part of the communication device 1000 using the SAGE 400, ormay be located in another device remote from communication device 1000,such as in a server computer, for example. If located remotely, the SAGEoutputs are transmitted wirelessly or by wire to processor 600. Theclassification engine 500 processes the SAGE outputs generated based onthe transmission in the frequency band by the device 4000, accumulatessignal pulse data (e.g., builds histograms) similar to the onesdescribed above and uses those histograms as the appropriate set offingerprint definitions to classify/identify the device 4000.Alternatively, the accumulated data can be used to design specificclassification algorithms, pulse timing signature templates, etc., toclassify/identify signals of the device 4000.

[0074]FIG. 15 illustrates another example of an application of thesignal classification schemes. In this example, the SAGE 400 or otherdevice capable of generating signal pulse data is deployed together withthe radio I/F 300 and an interface, such as a cardbus interface 570.These components may be implemented in a field programmable gate arraytogether with the cardbus interface 570. The cardbus interface 570 mayinterface with various card-slot types, such as Type II PC-Card slot.The SAGE 400 is used by a host device 5000 that has a host processor5010 as well as other components. A display monitor 5030 may be coupledto the host device 5000. The host device 1000 may be, for example, anaccess point for a wireless local area network, in which case it wouldhave the requisite radio transceiver and baseband signal processingcomponents. Alternatively, the host device 5000 may be a desktop ornotebook personal computer or personal digital assistant. A memory 5020in the host device may store a software programs for controlling the useof the SAGE 400 as well as the classification engine program. Inaddition, the memory 5020 may store driver software for the host device,such as drivers for operating systems such as Windows operating systems(Windows® XP, Windows® CE, etc.).

[0075] One or more radio receivers may be coupled to the radio I/F 300.For example, one radio receiver 210 may be dedicated to one frequencyband (such as the 2.4 GHz unlicensed band) and another radio receiver220 may be dedicated to another frequency band (such as the 5 GHzunlicensed bands). A switch 230 selects the baseband analog output fromone of the radio receivers, and couples it to an ADC 240, which is inturn coupled to the radio I/F 300. The DAC 250 is used to couple controlsignals to the radio receivers to, for example, control the bandwidth ofoperation of the radio receiver for wideband or narrowband operation.The larger dotted block around the elements in FIG. 15 is meant toindicate that these components may reside in a card device, such as aPC-card device, that interfaces with the host device 5000. Thus, thecard device essentially is a spectrum analyzer device and much more fora radio frequency band, that interfaces to a host device 5000.

[0076] The host processor 5010 performs the functions to control, andinterface with, the SAGE 400, as well as other functions, such asexecuting the classification engine based on the output of the SAGE 400.In addition, another application program residing in the memory 5020 ofthe host device 5000 may generate a graphic user interface display ofthe SAGE and/or classification engine output, as shown in FIG. 16. Inaddition, there may controls to trigger display of newly captured dataas shown by the buttons at the top of FIG. 16.

[0077] Moreover, the radio I/F 300 and SAGE 400 are shown in phantom toindicate that all of the functions of these components may be performedby a software program stored in the memory 910 and executed by the hostprocessor 900. In this configuration, the output of the ADC 240 iscoupled through an interface, such as the cardbus interface 570 to thehost processor 5010, which executes processes that would otherwise beperformed in hardware by the SAGE 400, as well as the classificationengine and other processes referred to above.

[0078] In sum, a method is provided for classifying signals occurring ina frequency band, comprising detecting one or more characteristics ofone or more signals in the frequency band; accumulating signal datapertaining to the signals over time; comparing the signal data againstreference data associated with known signals; and classifying the one ormore signals in the frequency band based on the comparison. Similarly, asystem is provided for classifying signals occurring in a frequencyband, comprising: a memory that stores accumulated signal datapertaining to signals occurring in the frequency band over time; and aprocessor coupled to the memory that compares the accumulated signaldata against reference data to classify the one or more signals in thefrequency band.

[0079] Moreover, a method is provided for generating data indicative ofa signal of a device operating in a frequency band, comprising steps ofdetecting a signal transmitted by the device operating in the frequencyband; accumulating signal data pertaining the signal over time; andgenerating characteristics of the signal data useful to classify oridentify the device when it operates in the frequency band.

[0080] Further still, a processor readable medium is provided that isencoded with instructions that, when executed by a processor, cause theprocessor to perform the steps of comparing signal data againstreference data associated with known signals; and classifying the one ormore signals in the frequency band based on the comparison.

[0081] The above description is intended by way of example only.

What is claimed is:
 1. A method for classifying signals occurring in afrequency band, comprising: a. detecting one or more characteristics ofpulses of radio frequency energy occurring in the frequency band; b.accumulating data pertaining to the characteristics over time; and c.analyzing the data to classify one or more signals in the frequencyband.
 2. The method of claim 1, wherein the step of accumulating datacomprises accumulating data pertaining to characteristics including:pulse center frequency, pulse bandwidth, pulse duration, time betweenpulses and number of different active pulses.
 3. The method of claim 1,wherein the step of analyzing comprises comparing the accumulated dataagainst a timing template defining a time period between pulsesassociated with known signals.
 4. The method of claim 1, and furthercomprising the step of obtaining a sample of a radio frequency energydetected for a time interval, wherein the step of analyzing furthercomprises examining the sample of the radio frequency energy.
 5. Themethod of claim 4, wherein the step of analyzing further comprises thestep of correlating the sample against a sync-word associated with aknown signal based on preliminary indications of a match to acorresponding known signal from analysis of the data.
 6. The method ofclaim 1, and further comprising the step of outputting, for a signalthat can be classified, information that describes the type of signal,as well as one or more of: a center frequency of the signal, ifrelevant, a measure of probability that there is a match, power of thesignal and duty cycle of the signal.
 7. A system for classifying signalsoccurring in a frequency band, comprising: a. a memory that storesaccumulated data pertaining characteristics of pulses of radio frequencyenergy occurring in the frequency band over time; and b. a processorcoupled to the memory that analyzes the data to classify one or moresignals in the frequency band.
 8. The system of claim 7, wherein thememory stores accumulated data comprises accumulating pulse datapertaining to characteristics including: pulse center frequency, pulsebandwidth, pulse duration, time between pulses and number of differentactive pulses.
 9. The system of claim 7, wherein the processor analyzesthe accumulated data against a timing template defining a time periodbetween pulses associated with known signals.
 10. The system of claim 7,wherein the memory stores accumulated data pertaining to characteristicsincluding: pulse center frequency, pulse bandwidth, pulse durationhistogram and time between pulses.
 11. The system of claim 7, whereinthe processor further correlates data describing a sample of radiofrequency energy detected for a time interval against a sync-wordassociated with a known signal based on preliminary indications of amatch to a corresponding known signal from analysis of the data.
 12. Thesystem of claim 7, wherein the processor outputs, for a signal that canbe classified, information that describes the type of signal, as well asone or more of: a center frequency of the signal, if relevant, a measureof probability that there is a match, power of the signal and duty cycleof the signal.
 13. A processor readable medium encoded with instructionsthat, when executed by a processor, cause the processor to perform thesteps of: a. accumulating data pertaining characteristics of pulses ofradio frequency energy occurring in the frequency band over time; and b.analyzing the data to classify one or more signals in the frequencyband.
 14. The medium of claim 13, wherein the instructions encoded onthe medium for performing the step of accumulating comprise instructionsfor accumulating data pertaining to characteristics including: pulsecenter frequency, pulse bandwidth, pulse duration, time between pulsesand number of different active pulses.
 15. The medium of claim 13,wherein the instructions encoded on the medium for performing the stepof analyzing comprises instructions for comparing the accumulated dataagainst a timing template defining a time period between pulsesassociated with known signals.
 16. The medium of claim 13, wherein theinstructions encoded on the medium for performing the step of analyzingcomprises instructions for correlating data describing a sample of radiofrequency energy detected for a time interval against a sync-wordassociated with a known signal based on preliminary indications of amatch to a corresponding known signal from analysis of the data.